import {
  BasicColumn,
  FetchSetting,
  FormProps,
  PaginationProps,
  TableSetting,
} from "/@/components/Table";

export const defaultActionColumn: BasicColumn = {
  // 操作列名称
  title: "操作",
  // 操作列索引
  dataIndex: "action",
  // 固定在右侧
  fixed: "right",
};

interface BasicTableProps {
  showTableSetting: boolean;
  pagination: PaginationProps;
  fetchSetting: FetchSetting;
  tableSetting: TableSetting;
}

export const defaultTableSettings: BasicTableProps = {
  showTableSetting: true,
  pagination: {
    // 每页显示的数据量
    pageSize: 10,
  },
  fetchSetting: {
    // 请求接口当前页数
    pageField: "pageNum",
    // 每页显示多少条
    sizeField: "pageSize",
    // 请求结果列表字段  支持 a.b.c
    listField: "content",
    // 请求结果总数字段  支持 a.b.c
    totalField: "total",
  },
  tableSetting: {
    // 是否显示刷新按钮
    redo: true,
    // 是否显示尺寸调整按钮
    size: true,
    // 是否显示字段调整按钮
    setting: true,
    // 是否显示全屏按钮
    fullScreen: true,
  },
};

export const defaultFormSettings: FormProps = {
  // 标签后面显示冒号
  colon: true,
  // 标签右对齐
  labelAlign: "right",
  // 关闭“重置”按钮的显示
  showResetButton: false,
  // 统一的列长度
  baseColProps: {
    span: 24,
  },
  // 把操作按钮放到表单最右边
  actionColOptions: {
    span: 24,
  },
  // 提交按钮显示的文字
  submitButtonOptions: {
    text: "提交",
  },
};

export const defaultModalFormSettings: FormProps = {
  // 标签后面显示冒号
  colon: true,
  // 标签右对齐
  labelAlign: "right",
  // 关闭操作按钮组的显示，使用对话框的按钮
  showActionButtonGroup: false,
  // 统一的列长度
  baseColProps: {
    span: 24,
  },
};

export function defaultDescRender(value: any): string {
  return !value || value === "" ? "暂未填写" : value;
}
